package com.example.redis.rest;

import com.example.es.dataobject.ProductPO;
import com.example.redis.service.SortedSetService;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author luowj12
 * @since 2021/5/25 16:30
 */
@Slf4j
@RestController
@RequestMapping("redis/sorted")
@Api(tags="Redis有序集合类型操作api")
public class RedisSortedController {

    @Autowired
    SortedSetService sortedSetService;

    /**
     * 批量新增
     */
    @PostMapping("/batchAdd")
    public void batchAdd(){

        sortedSetService.batchAdd();
    }

    /**
     * 获取排行列表
     */
    @PostMapping("/list")
    public void list(){

        sortedSetService.list();
    }

    /**
     * 单个新增
     */
    @PostMapping("/add")
    public void add(){

        sortedSetService.add();
    }

    /**
     * 统计两个分数之间的人数
     */
    @PostMapping("/count")
    public void count(){

        sortedSetService.count();
    }


    /**
     * 获取单个的排行
     */
    @PostMapping("/find")
    public void find(){

        sortedSetService.find();
    }

    /**
     * 获取整个集合的基数(数量大小)
     */
    @PostMapping("/zCard")
    public void zCard(){

        sortedSetService.zCard();
    }

    /**
     * 使用加法操作分数
     */
    @PostMapping("/incrementScore")
    public void incrementScore(){

        sortedSetService.incrementScore();
    }

    /**
     * 使用加法操作分数
     */
    @PostMapping("/findByRange")
    public void findByRange(){

        sortedSetService.findByRange();
    }


}
